import requests
from lxml import etree
import time



for i in range(1,11):
    # 目标网站的地址
    url = "https://www.zhipin.com/c101010100/?query=%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95&page={}&ka=page-{}".format(i,i)

    # 构造请求头（HTTP）
    header = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36"
    }


    time.sleep(1)
    # 发送请求，获取页面内容
    response = requests.get(url=url,headers = header)

    # 获取页面内容（代码）
    html_str = response.text

    # 转换
    html = etree.HTML(html_str)

    # 提取目标数据（招聘岗位）

    # job_list = html.xpath('//*[@id="main"]/div/div[3]/ul/li')

    # 提取所有的岗位节点
    job_list = html.xpath('//div[@class="job-list"]/ul/li')
    # print(job_list)


    for job in job_list:
        # 获取岗位名称
        job_name = job.xpath('.//div[@class="job-title"]/text()')
        # 获取薪资待遇
        price = job.xpath('.//span[@class="red"]/text()')

        #获取公司名称
        job_com = job.xpath('.//div[@class="company-text"]/h3/a/text()')

        # 格式化一下数据
        job_data = '岗位名称：{}  薪资：{}  公司：{}'.format(job_name[0],price[0],job_com[0])
        print(job_data)

        #  将提取的数据写入文件
        with open('job_data.txt','a',encoding='utf8') as f:
            f.write(job_data+'\n')


